package com.brainhealth.customer.service;

import java.util.List;

import com.brainhealth.common.core.domain.TreeSelect;
import com.brainhealth.customer.domain.Mechanism;

/**
 * 机构信息Service接口
 * 
 * @author wolong
 * @date 2023-07-26
 */
public interface IMechanismService 
{
    /**
     * 查询机构信息
     * 
     * @param mechanismId 机构信息主键
     * @return 机构信息
     */
    public Mechanism selectMechanismByMechanismId(Long mechanismId);

    /**
     * 查询机构信息列表
     * 
     * @param mechanism 机构信息
     * @return 机构信息集合
     */
    public List<Mechanism> selectMechanismList(Mechanism mechanism);

    /**
     * 查询机构信息列表
     *
     * @param mechanism 机构信息
     * @return 机构信息集合
     */
    public List<Mechanism> selectMechanismCollect(Mechanism mechanism);

    /**
     * 新增机构信息
     * 
     * @param mechanism 机构信息
     * @return 结果
     */
    public int insertMechanism(Mechanism mechanism);

    /**
     * 根据机构ID生成机构二维码
     * @param mechanismId
     * @return
     */
    public String createQrCode(Long mechanismId);

    /**
     * 获取机构树形结构信息
     * @return
     */
    public List<TreeSelect> getMechanismTree();

    /**
     * 修改机构信息
     * 
     * @param mechanism 机构信息
     * @return 结果
     */
    public int updateMechanism(Mechanism mechanism);

    /**
     * 批量删除机构信息
     * 
     * @param mechanismIds 需要删除的机构信息主键集合
     * @return 结果
     */
    public int deleteMechanismByMechanismIds(Long[] mechanismIds);

    /**
     * 删除机构信息信息
     * 
     * @param mechanismId 机构信息主键
     * @return 结果
     */
    public int deleteMechanismByMechanismId(Long mechanismId);
}
